如果你沒聽過三劍客,太好了,這篇就是為你而寫的!
如果你還沒用過GitHub Copilot,你還有三個月的時間不會成為這個標題嘲笑的對象XD
如果你沒聽過GitHub Copilot...
.
.
.
.
.
.
.
.
.
.
.
還是很謝謝你點進來幫我刷瀏覽數
XD
.
.
.
還是簡單介紹一下Github Copilot好了(奴性好重XD)
簡單來說,它可以在你Coding的時候根據上下文、寫作習慣吐出程式碼,就像這樣:
【圖】這個功能以下都簡稱「AutoComplete」(圖片來源)
.
.
詳情請看官方教學,開通之後了解一下快捷鍵就好,相較之下我還覺得開通比較麻煩XD
【圖】我就愛看中文✌️
.
.
動作 | 快捷鍵 | 備註 |
---|---|---|
想看提示 | alt+\ |
基本上會自動跳提示,如果你不小心錯過了可以再次叫出提示 |
看下一個提示 | alt+[ |
|
看上一個提示 | alt+] |
|
希望使用該提示 | tab |
Copilot跳給你的建議程式碼會先以「灰色字」呈現,你想使用就按tab,它就會實際寫入檔案裡 |
其實用Github Copilot不難,比較麻煩的是要改變自己的開發習慣,還有要付錢(欸?)
.
.
.
你以為這樣就結束了嗎?
事實上,Github還針對開發者推出一系列的輔助開發工具,包含現在還需要排隊等待的Github Copilot Voice,還有等一下會介紹的的Github Copilot Chat、Github Copilot Labs。
【圖】這幾個外掛都是到VsCode的外掛區下載
【圖】Copilot系列的工具可以在官網上看到,沒事就先排一下waitlist(?)
【圖】除此之外,也可以到【GitHub Next】留意近期要推出的功能、新玩具。
【圖】如果你已經在waitlist上,但還沒輪到你,打開VsCode在初始的時候就會跳這個視窗
.
.
裝了這個之後,就不必切換到網頁視窗才能用ChatGPT,直接在VsCode內點左側欄的外掛icon,就可以開始對話。Copilot Chat的介面是英文,但是你用中文問問題它會以中文回答,無需再另外下指令說「以下對話皆以中文進行」。
.
.
由於Copilot Chat不像網頁版的ChatGPT可以另開新視窗,因此,當我們結束一個任務、告一段路的時候,要記得手動按上方的清除icon(請見上圖的綠色字)。否則偶爾會發生「錯頻」,當你進到下個問題時,它還在上個問題的情境裡。
另外要注意的是,雖然Copilot Chat用的訓練模型是GPT3.5,但它似乎不像網頁版的GPT3.5一樣聰明。因此,大家要提高資訊判讀的警覺(這個議題我也預計出一篇【內功心法】唷,敬請期待\(・ω・)/ )。如果想問比較複雜的問題,還是建議大家回網頁版去用。
.
.
除了在對話窗,你也可以在程式碼的任何一個地方叫出Chat外掛,命令他幫你處理程式碼、請它解釋這段code、產生文件、寫測試...等等。請注意,你可以「命令它做事情
」,這意外著有更多的彈性去應用它,而不是單純的了解特定資訊(問ChatGPT問題)。
我在下圖的範例function,是用來管理驗證失敗要跳的錯誤訊息,我給Chat下的指令是 「請加入兩個錯誤:未填寫姓名、未填寫生日」。我原本只預期它能幫我接在pattern後面就好,沒想到它聰明又貼心的幫我加在required的判斷裡面。這代表,它看得懂我的指令以及原本程式碼的意圖,經過消化後才給出結果。
.
.
Copilot Labs裝起來後,點左側欄的icon就會出現下圖這個畫面。
這四個區塊點開來的功能簡介如下:
點開Explain的頁籤,再選取程式碼後,左邊會即時顯示被選取的內容,再按下「Ask Copilot」就可以了。
我自己都會再點「Advanced」,在原有的Prompt預設指令後面加上「in tradtional Chinese」,不然跑出來的結果會是英文(要逼死誰)。
.
.
使用方法和上一個類似,能轉換的語言還不少!
我自己比較少用這個功能,目前實務上會需要「Language TransLation」是在翻寫舊專案的時候。可是呢,有翻寫過舊專案的人就知道,最麻煩的不是轉換語言/框架。最麻煩的是這些上古神獸都已經找不到規格文件、也找不到當初負責開發的人,因此你要先把舊程式的邏輯整理出來,才能開始接下來的翻寫工作。
.
.
這裡有一系列的快捷小功能,推薦大家去試玩一下,或許可以給你一些靈感和啟發:「原來AI工具還可以這樣用!」
以下我列出值得試玩的功能、能幫上忙的時機:
【圖】美中不足的是不給改Prompt指令(嘆息
.
.
測試的部分後面會再提到,這裡就先省略~
這裡要注意的是,選取程式碼的時候要「頭尾選到整個function」。沒有選到一個完整的函數,或是多選了fn名稱前面的註解等等,都會被判定不是一個函數,會沒辦法使用這個功能生成測試。
.
.
.
今天洋洋灑灑從白天寫到黑夜介紹了Github Copliot,看得讓人流口水。說到底它什麼都好,唯一個缺點就是要錢XD
所以,下一篇我們就要來介紹強而有力的免費替代工具啦~
各位免費仔們,明天記得上車!